package controller;



import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import domain.School;
import service.SchoolService;
import util.JSONUtil;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
@WebServlet("/SchoolUpdateCtl")
    public class SchoolUpdateCtl extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //设置响应字符编码为UTF-8
            response.setContentType("application/json;charset=UTF-8");//创建JSON对象message，以便往前端响应信息
            JSONObject message_jsonObj = new JSONObject();
            JSONObject message_jsonObj1 = new JSONObject();
            String req_jsonStr = JSONUtil.getJSON(request);
            JSONObject req_jsonObj = JSON.parseObject(req_jsonStr, JSONObject.class);
            if (req_jsonObj == null) {
                message_jsonObj.put("message", "未收到请求信息");
                response.getWriter().println(message_jsonObj);
                return;
            }
            try {
                School school = JSON.parseObject(req_jsonStr,School.class);
                response.getWriter().println("改之前 :");
                message_jsonObj.put("beforeUpdate", SchoolService.getInstance().find(school.getId()));
                response.getWriter().println(message_jsonObj);
                SchoolService.getInstance().update(school);
                response.getWriter().println("改之后 :");
                message_jsonObj1.put("afterUpdate", school);
                response.getWriter().println(message_jsonObj1);
            } catch (SQLException e) {
                message_jsonObj.put("message", "数据库操作异常");
                response.getWriter().println(message_jsonObj);
                e.printStackTrace();
            } catch (Exception e) {
                message_jsonObj.put("message", "网络异常");
                response.getWriter().println(message_jsonObj);
                e.printStackTrace();
            }
        }
}
